home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 1 / PC Actual CD 01.iso / f1 / tutor1.arj / DATOS / CACHE.SAC < prev    next >
Encoding:
Text File  |  1993-08-27  |  7.1 KB  |  159 lines

  1.  
  2. CACHE: Las memorias caché son memorias destinadas a
  3. solucionar el problema de los embotellamientos de datos.
  4. Estos embotellamientos están provocados porque los nuevos
  5. procesadores procesan la información más rápido de lo que los
  6. datos se transfieren a la memoria, lo que provoca un
  7. embotellamiento en la salida de los datos hacia la memoria,
  8. que ralentiza al procesador.
  9.  
  10. El procesador deja los datos en esta memoria que es
  11. extremadamente rápida, y otro chip especializado se encarga
  12. de coger los datos de esta memoria y ponerlos en el lugar que
  13. les corresponde dentro de la RAM.
  14.  
  15. Su velocidad suele ser de 25 ns.
  16.  
  17. Consiste en una memoria de acceso muy rápido, intercalado
  18. entre el procesador y la memoria propiamente dicha.  En la
  19. memoria caché se almacenan datos con gran probabilidad de ser
  20. leídos.
  21.  
  22. Se las puede considerar como un veloz buffer entre cualquier
  23. medio de almacenamiento de datos y el destino de los datos,
  24. ya sea el procesador u otro dispositivo.
  25. Esto acorta el tiempo de lectura de los datos del dispositivo
  26. más rápido.
  27.  
  28. Este tipo de cachés deben disponer de un software que les
  29. permita decidir cuales son los datos que debe contener, de
  30. forma que cuando le sean pedidos obtenga una gran
  31. probabilidad de acertar, ahorrando el tiempo de leerlos.
  32.  
  33. El contenido de la caché debe ser capaz de adaptarse a los
  34. datos que hay en el dispositivo al que sirve de caché, de
  35. forma que si estos datos cambian la caché no proporcione los
  36. datos antiguos, sino los nuevos.
  37. Por ejemplo imaginémonos dos programas trabajando al mismo
  38. tiempo en un ordenador, uno lee un fichero, la caché carga
  39. los datos ante la posibilidad de que puedan ser utilizados,
  40. el primer programa acaba de procesar los datos del fichero,
  41. los actualiza y los graba, el segundo programa accede al
  42. mismo programa, la caché se da cuenta de que tiene los datos
  43. y se los manda, ahorrándose así el tiempo de leerlos, pero le
  44. ha mandado los datos antes de que estuviesen procesados por
  45. el primer programa, lo que es un gran fallo.
  46.  
  47. La forma más antigua de caché en el PC es el caché de disco,
  48. por el cual un área de RAM se usa para colocar los datos
  49. extraídos del disco duro.  Después se buscará en el caché
  50. para ver si los datos están en el, y en caso contrario
  51. copiaría toda la pista que contiene el nuevo sector dentro
  52. del caché.
  53. Cuando este caché está lleno un algoritmo se encarga de
  54. elegir que pistas eliminar.  Este algoritmo suelen basarse en
  55. eliminar la pista a la que hacía más tiempo que no se accedía
  56. o eliminar aquella a la que se accedía menos a menudo.
  57. Los programas software de caché de disco suelen utilizar
  58. estos sistemas.
  59.  
  60. Hay controladores de disco que ya llevan implementado un
  61. sistema de caché de varios megas en la propia controladora,
  62. con lo que al ser procesado por el hardware de la
  63. controladora se gana tiempo, y al tener su propia memoria se
  64. ahorra RAM principal.
  65. Pueden basarse en el antiguo sistema de leer una pista
  66. completa cuando se les solicita un sector, y así si después
  67. se le siguen solicitando los siguientes los tendrá en
  68. memoria, eliminando el tiempo necesario para leerlos, o
  69. alguno de las nuevas rutinas inteligentes de prebúsqueda, que
  70. recuperan datos del disco duro incluso antes de que le sean
  71. pedidos.
  72.  
  73. Para la escritura también se puede usar una caché que recoja
  74. los datos a escribir, dejando al procesador que continúe
  75. trabajando mientras la controladora los escribe.  En estos
  76. sistemas hay que tener la precaución de dejar suficiente
  77. tiempo a la controladora como para escribir los datos antes
  78. de resetear el sistema o de apagarlo, pues se podrían perder
  79. los datos.
  80.  
  81. La llegada de los ordenadores 386 supuso la imposibilidad de
  82. que las memorias pudiesen hacer frente a la velocidad del
  83. procesador, así que el procesador tenía que esperar hasta que
  84. un datos quedase completamente almacenado en la RAM para
  85. seguir trabajando, lo que lo hacía perder gran cantidad de
  86. tiempo.
  87.  
  88. Para solucionar este problemas se crearon unas áreas de
  89. almacenamiento caché entre el procesador y la memoria RAM,
  90. que almacenaba los datos que el procesador necesitaba más a
  91. menudo, y se encargaba de recogerlos para su escritura.
  92.  
  93. Así cuando se pide un dato, es necesario comprobar si está en
  94. el caché o ha de ser leído de la RAM, evitando leer datos que
  95. no han sido actualizados y aumentando la velocidad de
  96. lectura.  Para realizar esta comprobación hay tres sistemas,
  97. el asociativo, el de mapeado directo y el de RAM asociativa
  98. de grupo.
  99.  
  100.      -Caché asociativo: la RAM del caché mantiene los
  101.       contenidos de las últimas localizaciones N de la
  102.       memoria a las que se ha accedido, donde N es el tamaño
  103.       de caché.
  104.       Cualquier localización del caché puede ser asociada a
  105.       la memoria principal, y el controlador del caché tiene
  106.       que buscar cada localización del caché para descubrir
  107.       aciertos o pérdidas.
  108.  
  109.      -Caché de mapeado directo: para establecer un acierto o
  110.       una pérdida del caché, el controlador sólo necesita
  111.       comparar el resto de la dirección con los bits
  112.       superiores de la dirección de la fuente de los datos en
  113.       esa localización de caché.
  114.       Son los más utilizados, ya que son rápidos y baratos.
  115.  
  116.      -Caché de RAM asociativa de grupo: ahorra gran parte del
  117.       tiempo de búsqueda del caché mediante la división de
  118.       las localizaciones en dos o cuatro secciones.  Cada una
  119.       de estas se asocia a un juego especial de
  120.       localizaciones en la memoria principal, de modo que,
  121.       dada una dirección de la memoria principal, sólo una
  122.       fracción del caché necesita ser buscada.
  123.  
  124.  
  125. El principal problema de estas memorias caché son los accesos
  126. a memoria mediante ▒DMA▓, que evitan la caché, accediendo
  127. directamente a la memoria, para controlar esto es necesaria
  128. la utilización de hardware de intromisión.
  129. Este hardware detecta el comienzo de la transferencia DMA y
  130. el controlador de caché determina lo que sucederá a
  131. continuación.  Cuando el DMA accede a la memoria, se marcan
  132. los datos del caché pertenecientes a las direcciones a las
  133. que se está accediendo como inválidas, de forma que no sean
  134. reescritas por el controlador de la caché.
  135.  
  136. Los diseños del caché de la RAM se pueden mejorar cacheando
  137. los datos transferidos por DMA, de la misma manera que se
  138. cachea la memoria principal.  Pero la mayoría de los cachés
  139. de la RAM de los PCs no son tan sofisticados.
  140.  
  141. El procesador ▒486▓ (y también el ▒PENTIUM▓), tiene unas caché
  142. interna de 8 Kbytes para instrucciones y otros 8 para datos.
  143.  
  144. Otra caché que es muy utilizada y que muchos usuarios
  145. desconocen es la Shadow RAM, que consiste en copiar la ▒BIOS▓
  146. del sistema en la memoria RAM.  De esta forma cuando se usan
  147. los procedimientos de la BIOS no es necesario acceder a las
  148. ROMs donde se encuentra instalada, que son más lentas.
  149. A este proceso se le llama también "sombreado".
  150.  
  151. Así, a modo de resumen, se puede decir que la caché será más
  152. rápida en los discos cuando se acceda a los datos de forma
  153. secuencial (datos contiguos), mientras que el el caso de la
  154. RAM los accesos serán más rápidos mientras no se usen los
  155. canales de acceso directo a memoria (DMA).
  156.  
  157. Para saber más lea la lección primera.
  158.  
  159.